package core

type TokenType string

const (
	// Special tokens
	ILLEGAL TokenType = "ILLEGAL"
	EOF     TokenType = "EOF"

	// Literals
	SYMBOL  TokenType = "SYMBOL"  // identifiers and symbols
	BOOLEAN TokenType = "BOOLEAN" // integer literals

	// Delimiters
	LPAREN TokenType = "LPAREN" // (
	RPAREN TokenType = "RPAREN" // )
)

// Token represents a lexical token
type Token struct {
	Type   TokenType
	Lexeme string
	Line   int
	Column int
}
